#ifndef UC_BRMENT_H
#define UC_BRMENT_H 1

#include "zadesk.h"
#include "zrxobject.h"
#include "zrxboiler.h"
#include "ucbrgbl.h"


// forward class declarations
class UcBrEntity;
class UcBrImpMeshEntity;


class DllImpExp UcBrMeshEntity : public UcRxObject
{
public:
    UCRX_DECLARE_MEMBERS(UcBrMeshEntity);
    virtual ~UcBrMeshEntity();

    // Equivalence                    
    ZSoft::Boolean      isEqualTo       (const UcRxObject* other) const;
    
    // Queries & Initialisers
    ZSoft::Boolean      isNull          () const;
    
	// Topology
	UcBr::ErrorStatus   getEntityAssociated(UcBrEntity*& entity) const;

	// Validation
	UcBr::ErrorStatus	setValidationLevel(const UcBr::ValidationLevel& = *(UcBr::ValidationLevel*)NULL);
	UcBr::ErrorStatus	getValidationLevel(UcBr::ValidationLevel& validationLevel) const;
	ZSoft::Boolean		brepChanged		() const;

protected:
    UcBrMeshEntity();
    UcBrMeshEntity(const UcBrMeshEntity&);
    UcBrMeshEntity&     operator =      (const UcBrMeshEntity&);

    UcBrImpMeshEntity*	mpImp;
};


#endif

